结构体位制 中存在 有符号 与 无符号 -- C
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- /*
- 有符号 结构体1
- */
- struct bits
- {
- int b1:5;
- /*
- 由于是int型,最大设置32位。由于int型是有符号整形,
- 所以这里5位为有符号类型。
- 11111 -1
- 10000 -16
- 01111 15
- 00000 0
- */
- int :2;
- int b2:2;
- /*
- 11 -1
- 10 -2
- 01 1
- 00 0
- */
- int b3:1;
- /*
- 1 -1
- 0 0
- */
- };
- /*
- 无符号 结构体2
- */
- struct bits
- {
- unsigned int b1:5;
- unsigned int :2;
- unsigned int b2:2;
- unsigned int b3:1;
- };
- int
- main()
- {
- struct bits b;
- // int a = 0b1111111111111111;
- int a = 0b0100110101000101;
- memcpy(&b, &a, sizeof(b));
- // memcpy(&b, "EM", sizeof(b));
- printf("0x%X\n", b);
- printf("b.b1 = %d\n", b.b1);
- printf("b.b2 = %d\n", b.b2);
- printf("b.b3 = %d\n", b.b3);
- }
- /*
- int a = 0b0100110101000101;
- 0x4D45
- b.b1 = 5
- b.b2 = -2
- b.b3 = 0
- int a = 0b1111111111111111;
- 0xFFFF
- b.b1 = -1
- b.b2 = -1
- b.b3 = -1
- int a = 0b0100110101000101;
- 0x4D45
- b.b1 = 5
- b.b2 = 2
- b.b3 = 0
- int a = 0b1111111111111111;
- 0xFFFF
- b.b1 = 31
- b.b2 = 3
- b.b3 = 1
- */
结构体位制 中存在 有符号 与 无符号 -- C的更多相关文章
- 深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断
开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完.主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿 ...
- C语言的有符号与无符号,二进制整数的扩展与截断
C语言的有符号与无符号,二进制整数的扩展与截断 前一节说了整数的表示方式,,也就是无符号编码与补码编码.这一届说一下二进制整数的扩展与截断,这部分内容与C语言挂钩.so,我们先看下面C语言的有符号和无 ...
- Java-java中的有符号,无符号操作以及DataInputStream
1. 无符号和有符号 计算机中用补码表示负数,并且有一定的计算方式:另外,用二进制的最高位表示符号,0表示正数.1表示负数.这种说法本身没错,可是要有一定的解释,不然它就是错的,至少不能解释,为什么字 ...
- int有符号和无符号类型内存 -- C
/* int 有符号 0xffffffff == -1 0xfffffffe == -2 最小 0x80000000 == -21 4748 3648 最大 0x7fffffff == 21 4748 ...
- java中有符号和无符号数据类型发生转换
package com.itheima.test01;/* * byte short int long float double 是有符号位的数 * char boolean 是无符号位的数 * 补码 ...
- C语言进阶——有符号与无符号02
在计算机的内部,我们所有的信息都是由二进制数字组成的 有符号数的表实法: 在计算机内部用补码的方式表实有符号数 正数的补码位正数的本身 负数的补码为其绝对值取反然后加一得到 例如-7 他在计算机内部的 ...
- char类型到底是有符号还是无符号
根据c标准,char类型到底是有符号整数类型还是无符号整数类型,这取决于c实现,也就是c编译器的作者的想法:( 那么,如何快速的编写一个检测程序,查看当前编译器如何对char进行定义? #includ ...
- Java-java中无符号类型的处理
在Java中,不存在Unsigned无符号数据类型,但可以轻而易举的完成Unsigned转换. 方案一:如果在Java中进行流(Stream)数据处理,可以用DataInputStream类对Stre ...
- java中无符号类型的处理
在Java中,不存在Unsigned无符号数据类型,但可以轻而易举的完成Unsigned转换. 方案一:如果在Java中进行流(Stream)数据处理,可以用DataInputStream类对Stre ...
随机推荐
- cognos report同比环比以及默认为当前月分析
现在的需求是按月份分析不同时期的余额数据,.(报表工具:cognos report:建模工具:FM) ------------------------------------------------- ...
- jsAnim简单使用教程
引入jsAnim.js 定义动画元素 元素需要有position:relative;或者position:absolute;属性 添加js <!DOCTYPE HTML> <html ...
- C#.NET常见问题(FAQ)-interface接口如何理解
个人把interface理解为一种比较特殊的判断技巧,不是常规的变量类型比如判断字符串,判断数组,而是判断类的实例是否拥有某些属性或者方法(比如有十个女的穿一样的衣服,头上盖住,让新郎去猜哪一个是他的 ...
- GP开发示例:数据库去重
这个例子专业讲解基于ArcEngine使用GP开发的过程及遇到的问题.更多GP使用方法:GP使用心得 功能需求:现在外业第一次数据(简称调绘.mdb)和第二次数据(简称检查.mdb)有重复.第二次是在 ...
- js绝招
1.JS判断 function IsDigit(cCheck) { //判断是否是数字return (('0'<=cCheck) && (cCheck<='9')); } ...
- Appium Python 六:管理应用和Activity
管理应用 1. 将当前应用放到后台 执行之后,应用会被放到后台特定时间.比如这里就是5秒,5秒过后,应用会重新回到前台. driver.background_app(5) 官网示例: driver.b ...
- Java从零开始学三十五(JAVA IO- 字节流)
一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test ...
- jquery position方法使用及兼容性
1.position方法 jquery api地址:http://jquery.cuishifeng.cn/position.html position方法获取匹配元素相对父元素的偏移. 2.说明 2 ...
- Tomcat启动时选择加载项目
到tomcat\conf\Catalina\localhost下新建文件:myapp.xml 内容如下: <Context path="/myapp" docBase=&qu ...
- Cannot load supported formats: Cannot run program "svn"
Cannot load supported formats: Cannot run program "svn" CreateTime--2018年4月26日11:32:37 A ...