11.30c语言,二 十 十六进制转换法,原码反码补码转换方法,关于字符型ASCII 码 关于强制类型转换

一种计算十进制转换二进制的转换方式:二进制一般以8位(16位)来表示,如1为00000001,6为00000110,这八位从左往右数是2的0次方依次到2的8次方,具体计算就是,比如6=2的0次*0+2`1*1+2`2*1=0+2+4=6,最高位即最左边的一位是符号位,0代表正数,1代表负数

而将二进制转换为16进制需要将二进制每四位进行一划分,同上面方法进行求

11.30c语言,二 十 十六进制转换法,原码反码补码转换方法,关于字符型ASCII 码 关于强制类型转换_第1张图片

数据的存储

原码反码补码,正数的原码反码和补码都不变,为它本身,负数是标志位不变,其他取反(原码转反码 反码转原码一样的方法),补码=反码+1.如

-21:原码10010101 反码11101010 补码11101011

11.30c语言,二 十 十六进制转换法,原码反码补码转换方法,关于字符型ASCII 码 关于强制类型转换_第2张图片

字符型的ASCII码:设ch是字符型变量,字符型常量A的ASCII码为65,则ch='A'和ch=65等价(以此就可以得出整型变量和字符型变量的定义和值都可以相互交换) 字符常量在输入输出时两侧有单引号,但字符变量输入输出不需要单引号,如

scanf("%c",&ch);
printf("%c",ch);

强制类型转换:

新返回值类型 新的量=(新返回值类型)旧的值

#include
int main() {
	int a = 10;
	float b = 3.14;
	double c = 2.71828;
	char ch = 'A';
	int inta = (int)b;//将浮点数转换为整数
	printf("%d\n", inta);//输出3
	float floatb = (float)a;//将整数转换为浮点数
	printf("%.2f\n", floatb);//输出10.00
	return 0;
}

数据类型    输入示例    输出示例    内存存储
int    scanf("%d", &num);    printf("%d", num);    占用4个字节,存储整数值
float    scanf("%f", &num);    printf("%.2f", num);    占用4个字节,存储浮点数值
double    scanf("%lf", &num);    printf("%.2lf", num);    占用8个字节,存储双精度浮点数值
char    scanf(" %c", &ch);    printf("%c", ch);    占用1个字节,存储字符值

你可能感兴趣的:(c语言,开发语言)