永发信息网

为什么C++中这条运算会等于128

答案:6  悬赏:30  手机版
解决时间 2021-04-05 10:32
为什么C++中这条运算会等于128
最佳答案
您好。这涉及到进制转换,还有移位问题。
0x40换成二进制表示就是0100 0000(0100等于4)。
a<<1的意思是,把0100 0000集体向左移1位,即得到了1000 0000,在十进制表示上该二进制值等于128。
谢谢,请采纳!

与楼上类似,左移就是乘以2,右移就表示除以2。在用程序表示乘以2的N次方上面应用广泛。追问1000 0000怎么等于128,我算不到,一直都是等于0追答





纯手工计算的。如果是程序的话,可能要考虑格式了,还有变量是不是存储的时候溢出了。
全部回答
a=0x40表示的是16进制,所以a=64,<< 表示将a的2进制表示左移以为,相当于将a乘以2,所以结果为128
a 为64 a<<1表示 移位 左移相当 于 *2 所以 b = 128
0x40 二进制为 01000000
左移1位 10000000 -------->十进制128
a = 0100 0000 (二进制)
a<<1 左移操作
a就成了1000 0000表示十进制的128
二进制位 1 << 1 左移1位变成 10
所以左移n位,一般理解为将原来的值扩大 2^n次方。
0x40 << 1 即将0x40扩大2^1 = 2倍
所以b的值变成了0x80 = 128
我是菜鸟,希望能帮到你,观楼主英俊潇洒,风流倜傥,必当世豪杰,诚邀加入0x30百度贴吧,共商义举,建不世之功
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
算法的时间复杂度是指,如何对一个程序进行算
我想去西藏做生意
有从银川到乌兰察布的火车吗?或者长途大巴
经常拔网线好不好?
吵架后跟老公沟通,他说如果我不想跟他一起过
学校科技组有20人,舞蹈组人数是科技组的20%
房贷37万20年还清,3年的利息是多少
mybatis连2个数据库 怎么判断使用
科级干部选拔任用要经过组织部么
哈大高铁预计将在2012年11月正式通车。高铁时
阿拉伯数字指的是什么
“憧憬股海十八年,潮涨潮落是韵律。喜怒哀乐
如何减少对数据库的访问次数来加快sql执行
诗词方面的天赋在今天有什么样的发展?
各种畜禽粪便有机质含量是多少?
推荐资讯
从2008年3月1日起个人月收入超过2000元的,超
疯狂情图中,中间是白色条纹,两边是蓝色和红
逆战为什么别人进的比我快
伯在名字里怎么读,“行”字出现在姓名中怎么
altium designer winter 09点击后运行时卡死
阿里巴巴企业标语,关于法治的标语或口号
九阴真经怎样让人房子扩建
为什么打印机墨盒装了墨水却提示说没有
是sei la mia luce还是Sei Ia mia luce?或者
归雁象征什么
单选题西汉时生产技术的新成就不包括A.冶铁用
下列解释事实的化学方程式或离子方程式不正确
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?