zoukankan      html  css  js  c++  java
  • C

    二进制、位、字节

    • 一个字节包括8个位。C术语字节表示存放系统字符集大小,C字节可能8、9、16或其他。
    • 有符号整数表示由硬件决定,1+7表示方法范围-127+127,有+0和-0。采用二进制补码,-127128。
    • 浮点数表示法,二进制小数+二进制指数

    位逻辑运算符

    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
    	unsigned char c = 2; // 0000 0010
    	unsigned char vc = ~c; // 1111 1101
    	printf("位运算符,%d 按位取反 : %d 
    ", c, vc);
    
    	unsigned char d = 1;// 0000 0001
    	vc = c & d; // 0000 0000
    	printf("位运算符,%d 按位与 %d : %d 
    ", c, d, vc);	// 用作掩码、查看一位的值
    
    	vc = c | d; // 0000 0011
    	printf("位运算符,%d 按位或 %d : %d 
    ", c, d, vc); // 用作打开位、关闭位
    
    	d = 3;		// 0000 0011
    	vc = c ^ d; // 0000 0001
    	printf("位运算符,%d 按位异或 %d : %d 
    ", c, d, vc); // 用作转置位
    
    	vc = c << 2; // 0000 1000  , 8
    	printf("位运算符,%d 左移 %d : %d 
    ", c, 2, vc);	// 用法: 高效2的次幂 乘除法
    
    	vc = c >> 2; // 0000 0000  , 0
    	printf("位运算符,%d 右移 %d : %d 
    ", c, 2, vc);
    
    	return 0;
    }
    
    

    位字段

    #include <stdio.h>
    struct {		// 位字段
    	unsigned int autfd : 1;  // 1位字段
    	unsigned int bldfc : 1;
    }prnt;
    int main(int argc, char *argv[])
    {
    	prnt.autfd = 0;
    	prnt.bldfc = 1;
    	// 可以指定位字段的位数,实例化时小心超出容量哦
    	// 费劲心机省内存,我还是写Java去吧
    	return 0;
    }
    
    
  • 相关阅读:
    八、JVM视角浅理解并发和锁
    七、JVM类加载机制
    六、JVM命令和工具
    五、jvm垃圾回收3(几种垃圾收集器)
    四、JVM垃圾回收2(垃圾收集算法)
    jvm引用类型
    三、JVM垃圾回收1(如何寻找垃圾?)
    【原创】Android 对话框的使用
    【原创】CMD常用命令:解决实际问题
    【原创】开机出现grub rescue,修复办法
  • 原文地址:https://www.cnblogs.com/hiqianqian/p/6848778.html
Copyright © 2011-2022 走看看