我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

c语言位运算计算问题

img


朋友们,这个为什么c算出来是28啊,主要不太懂那个d不带符号的字符型,然后-25怎么去运算

char 取值范围 -128 ~ 127,unsigned char 取值范围0 ~ 255
d = -25 转成无符号就是231
231的二进制 1110 0111
右移3位之后的二进制 0001 1100,对应十进制28

你要会二进制的话,把二进制写出来自己移动一下就很清楚了。
d是无符号的,-25就是231,即11100111,右移3位,就是00011100,就是28了

近期文章

  • 请问这里明明定义了为什么还是会报错?大一新生已经没多少头发了。
  • 用if语句写程序但运行错误
  • RT-thread的finSH移植
  • IVX中设置了下拉菜单,但是编译后不显示
  • c语言循环素数判定的问题
  • JAVA eclipse
  • 用C语言写8!+9!+10!
  • Linux下多个子项目的工程依赖如何处理?详见正文
  • while(scanf("%ld",&n)!=EOF)这行代码的作用,及使用环境
  • 登录我写的系统的时候一直显示我的用户密码错误,如何解决?
  • 如何用java简短地测试数据?
  • 为什么结果是-1 0呢?
  • 中序遍历非递归二叉树
  • 非在括号外面对哪个有效
  • 一维多项式插值不知道哪里出错
  • 国家标准GB-T 25070-2019 在哪里能下载
  • 有人知道给我解释一下这个代码吗
  • c++ 中vector subscript out of range 怎么解决?
  • html 里的checkbox的复选框标签对应IHTMLDocument2 里的哪个元素?
  • 为什么会出现这种情况,55不懂(=_=)

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华