Go之关系运算符、逻辑运算符、进制数、杂项

Wesley13
• 阅读 663

一:关系运算符,和php的一致,略。

二:逻辑运算符,和已知的php一致,略。

三:进制数,已在php中学习,略。

四:Golang中不存在三元运算符。

五:源码,反码,补码。

对于有符号的而言:

①:二进制的最高位是符号,0表示正数,1表示负数。

②:正数的源码,反码,补码都一样。

  1=> [补码:0000 0001,反码:0000 0001,补码:0000 0001]

③:负数的反码=原码符号位不变,其他位置取反。

  -1=》[补码:1000 0001,反码:1111 1110]

④:负数的补码=反码+1

  -1=》[补码:1000 0001,反码:1111 1110,补码:1111 1111]

⑤:0的反码,补码都是0

⑥:在计算机运行的过程中,是以补码的方式进行运算。

六:位运算和移位运算

①:位运算是基于数字的二进制形势下的补码进行运算

  1)按位与&     :两位全为1,结果为1

  Go之关系运算符、逻辑运算符、进制数、杂项

  2)按位或|   :两位有一个为1结果为,否则为0

  Go之关系运算符、逻辑运算符、进制数、杂项

  备注:1)中,由于均为正数参考第五大点的第二小点,故补码不用转换几位源码,而负数需要转换。

  3)按位异或^ :两位,一个为0,一个为1,这为1,否则为0

  Go之关系运算符、逻辑运算符、进制数、杂项

②:移位运算

  1)<<符号位不变,低位补0

    var a := 1>>2 //a等于0

  2)>>符号位不变,低位溢出,并用符号位补溢出的高位

    var 1 := 1<<2 //a等于4

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
似梦清欢 似梦清欢
1年前
数据机器级表示
计算机中存储有符号数的时候是按照补码的形式存进去的。原码是数字的二进制表示,补码是原码取反1。正数的原反补相同。原码:最高位表示符号位,其余位表示数值位的编码称为原码。正数的符号位为0,负数的符号位为1。负数的反码:原码的符号位保持不变,数值位逐位取反,
Wesley13 Wesley13
2年前
java 二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题
一.二进制,位运算,移位运算1.二进制对于原码,反码,补码而言,需要注意以下几点:(1).Java中没有无符号数,换言之,Java中的数都是有符号的;(2).二进制的最高位是符号位,0表示正数,1表示负数;(3).正数的原码,反码,补码都一样;(4).负数的反码它的原码符号位不变,其他位取反;(5).
Wesley13 Wesley13
2年前
java复习(1)
这几天开学,很多知识点还很生疏,这两天先把java基础复习一下,有段时间没有写博客了,今天就先谈谈进制转换吧。  1.二进制数的原码,补码和反码    1):对于正数的原码,补码和反码均是相同的,这里不讨论了。    2)接下来我们讨论负数的二进制的原码、反码和补码    负数二进制的原码:先
Wesley13 Wesley13
2年前
thinkphp3.2.3模板渲染支持三元表达式
thinkphp3.2.3模板渲染支持三元表达式{$status?'正常':'错误'}{$info'status'?$info'msg':$info'error'}注意:三元运算符中暂时不支持点语法。如下:           <divclass"modalhidefade"id'myModa
Wesley13 Wesley13
2年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
2年前
20180109Java位运算
一,Java位运算1.表示方法:  在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。 (1)正数的最高位为0,其余各位代表数值本身(二进制数)。 (2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。 2.位运算符位运算表达式由
可莉 可莉
2年前
20180109Java位运算
一,Java位运算1.表示方法:  在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。 (1)正数的最高位为0,其余各位代表数值本身(二进制数)。 (2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。 2.位运算符位运算表达式由
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这