码迷,mamicode.com
首页 > 其他好文 > 详细

2021寒假专题7

时间:2021-02-08 12:10:10      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:正数   运算   反码   取数   输出   计算   不同   字母   奇数   

本次讨论C语言一个小玩意,关于C语言计算机存储与位运算

include <stdio.h>

void t1(void)
{
	int a;
	printf("%d",a);//十进制表示
	printf("%#o",a);//八进制表示
	printf("%#x",a);//十六进制表示,小写x十六进制字母小写
	printf("%#X",a);//大写X字母大写
	//加上#号数字前有前缀,更直观 
	int b=0123;//八进制赋值
	int c=0x12a;//十六进制赋值 
} 

void t2(void)
{
	//原码 有符号(取最高位为符号位)与无符号
	//反码 有符号的正数与无符号和原码情况相同
		 //负数 原码符号位不动,其余位取反
	
	//补码 符号的正数与无符号和原码情况相同
		 //负数 原码符号位不动,其余位取反 +1 
	
	//无符号 原码=反码=补码
	//有符号 正数:原码=反码=补码
	//无符号 负数: 补码=反码+1
	
	//数据在计算机内以补码的方式存储
	//取数据 无符号直接取
	//有符号 最高位为0,直接输出 最高位为1 原码=补码符号位不动,其余位取反 +1
	
	// 1000 1111->1111 0000->1111 0001->1000 1110->1000 1111
	//   原码       反码       补码       (  原码  )  
	
	//八进制与十六进制原码=反码=补码 
	//%d等等有符号,%u等等无符号 
	//补码的意义
	//+0与-0补码没有差别1000 0000、0000 0000
	//补码做运算的时候正确 
} 


int main()
{
	//char num=-15;//1000 1111->1111 0001->128+64+32+16+1
	//printf("%u\n",num);
	char num=0x9b;//1001 1011 ->1110 0101(-1-4-32-64)
	printf("%d",num);	
}

include <stdio.h>

//按位(补码)取反 ~      0变1,1变0 
//按位与 & 全1为1,其余为0 用处:判断奇偶 
//按位或 | 全0为0,其余为1 用处:让指定位置为1 
//按位异或 ^ 相同为1,不同为0 A^B=C =>A^C=B 用处:交换数字 

//移位运算符 左移:<<   右移:>>
//<<1 原数乘以2  <<N即原数乘以2^N
//>>N 即原数除以2^N 除不尽的减一再除
//右移一般用0填充,可某些系统负数高位用1填充 
int main()
{
	int num1=2;//0000 0000 0000 0000 0000 0000 0000 0010->0000 0000 0000 0000 0000 0000 0000 0010
	//->1111 1111 1111 1111 1111 1111 1111 1101->1000 0000 0000 0000 0000 0000 0000 0011
	//printf("%d\n",~num);
	int num2=-2;//1000 0000 0000 0000 0000 0000 0000 0010->1111 1111 1111 1111 1111 1111 1111 1110
	//->0000 0000 0000 0000 0000 0000 0000 0001->0000 0000 0000 0000 0000 0000 0000 0001
	//printf("%d",~num2);
	
	//和数字1按位与运算
	//1110 0001
	//0000 0001
	//按位与 为1奇数,为0偶数
	//if((num1&1)==0) printf("%d是偶数",num1);
	//else printf("%d是奇数",num1);
	
	int num3=5;
	int num4=3;
	//printf("%d",num3|num4); 
	num3=num3^num4;
	num4=num3^num4;
	num3=num3^num4;
	//printf("%d %d",num3,num4);
	
	int num=10;//0110
	printf("%d",10>>2);
	
}

2021寒假专题7

标签:正数   运算   反码   取数   输出   计算   不同   字母   奇数   

原文地址:https://www.cnblogs.com/tzp-empty-hya/p/14383575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!