计算机数据

一、计算机数据表示的形式

1.1数值型数据

二进制:由0、1组成,逢2进1.

八进制:由0~7组成,逢8进1         进制特点:0开头,例如023、011

十进制:由0~9组成,逢10进1

十六进制:由0~9,a~f组成,逢16进1         进制特点:0x开头,例如0x64、0xac

1.2 进制转换

1.2.1 十进制转二进制

(1)短除法

例如十进制的12转换为二进制

12/2=6......0

6/2=3......0

3/2=1......1

则转换后的二进制为1100

(2)拆分法

2^{n-1}+2^{n-2}+2^{n-3}+......+2^{2}+2^{1}+2^{0}

例如十进制12转换为二进制

可以拆分为2³+2²其余次方数为0,则转换为二进制为1100

1.2.2 二进制转八进制

在转换时由右向左,每三位二进制数表示一位八进制数

例如:100110010转换为八进制:100 110 010——>462

1.2.3八进制转二进制

在转换时,一位八进制数转换为三位二进制数

例如:0236——>010 011 110

1.2.4十六进制转二进制

在转换时,以为十六进制数转换为4位二进制数

例如:0xcf——>1100 1111

二、非数值型数据

对于非数值型的运算,通常指的是对其ASCII码进行运算,每个字符都有对应的ASCII码,单个字符用' ' 包裹。

常见的字符以及对应ASCII码

'/0' ASCII码为0,表示字符串的结束。

'/n' ASCII码为10,表示换行。

' '(空格)ASCII码为32,表示一个空格。

'0' ASCII码为48。

'A' ASCII码为65。

'a' ASCII码为97。

例如:printf("%c/n",'A');

           printf("%c/n",'A+32');

则分别会输出A和a。(A与a之间的ASCII码相差32)

三、词发符号

3.1关键字

存储类型:auto(自动变量)、static(只作用于本文件或函数中,在不同文件或函数中可重复定义同名变量)、register(寄存器变量)、extern(外部类变量声明)

数据类型:int   char   float   short   long double   signed   unsigned

构造数据类型:struct   enum   union

分支:if   else   switch   case   default   for   do while   go to  break   continue

其他:void   const   sizeof   volatile   return   typedef

3.2 标识符

标识符的命名规则:

(1)由数字、字符、下划线组成

(2)开头不能是数字

(3)不能与关键字重名

(4)名字简明易懂

3.3 运算符

3.3.1 算术运算符:+   -   *   /   %   ++   --

/ 整数相除,向下取整

例如:

int a=9/2;

printf("%d\n",a);//4

float a=9/2;

printf("%f\n",a);//4.000000 //默认打印小数点后六位 

注意:

float a=4;

printf("%f\n",a);//4.000000

float a=9.0/2;

printf("%f\n",a);//4.500000

强制转换:(数据类型)

int b=9;

float a=(float)b/2; //强制转换只在当前这一行生效

printf("%f\n",a);//4.500000

%:取余,只能用于整数运算。

例如:9/4=2......1        9%4==1

++:本体=本体+1

例如:a++;//a=a+1

1、独立成句:
int b=9;

1)++b; //b=b+1;

printf("%d\n",b); //10

2)b++; printf("%d\n",b); //10

2、赋值语句

int b=9;

1)、int c=++b; //先b=b+1在赋值

printf("%d %d\n",b,c);//10 10

2)、int c=b++; //先赋值再b=b+1

printf("%d %d\n",b,c);//10 9

补充:

int b=9;

int c=(b++); //先赋值再b=b+1

printf("%d %d\n",b,c);//10 9

3、打印语句

int b=9;

1)、printf("%d\n",++b);//10

printf("%d\n",b);//10

2)、printf("%d\n",b++);//9

printf("%d\n",b);//10

3.3.2 逻辑运算符:&&   ||    !

&&逻辑与:全真则真,一假全假。

||逻辑或:一真全真,全假才假。

!逻辑非:真变假,假变真。

阶段法则:在逻辑与运算中,前边表达式为假,后边表达式不再执行,直接返回假。

                  在逻辑或运算中,前边表达式为真,后边表达式不再执行,直接返回真。

3.3.3 位运算符:&   |   ^   ~   <<   >>(后两个应用于进制)

&位与:全一则一,有零则零。

|位或:有一则一,全零则零。

^异或:相同为0,不同为1。

~取反:1-->0 0--->1。

(1)交换两个数值

int a=12,b=10;

//方法一:

// int temp=0;

// temp=a;

// a=b;

// b=temp;

//方法二:

a=a^b; //1100 ^ 1010 == 110==a

b=a^b; //110 ^ 1010 == 1100==b=12

a=a^b; //110 ^ 1100 == 1010==a=10

printf("%d %d\n",a,b);//10 12

return 0;

(2)关于原码、反码、补码

在计算机中整数以补码的形式存在

正数的原码、反码、补码均相同。负数的反码为原码除第一位符号位,其余按位取反得出,补码为反码+1。

int 4字节 1字节=8位 32位 最左边是符号位,0正数 1负数

-10:1000 0000 0000 0000 0000 0000 0000 1010

int a = 12, b = -10;

int c = a & b;

printf("%d\n", c); // 4

12补码:

0000 0000 0000 0000 0000 0000 0000 1100

-10原码:

1000 0000 0000 0000 0000 0000 0000 1010

-10反码:

1111 1111 1111 1111 1111 1111 1111 0101

-10补码:

1111 1111 1111 1111 1111 1111 1111 0110

12补码 & -10补码

0000 0000 0000 0000 0000 0000 0000 1100

1111 1111 1111 1111 1111 1111 1111 0110

0000 0000 0000 0000 0000 0000 0000 0100 补码==4

int b = 10;

int c = ~b;

printf("%d\n", c); // -11

10补码:

0000 0000 0000 0000 0000 0000 0000 1010

~:补码

1111 1111 1111 1111 1111 1111 1111 0101

反码:

1111 1111 1111 1111 1111 1111 1111 0100

原码:

1000 0000 0000 0000 0000 0000 0000 1011----》-11

(3)<<   左移符号:左移几位,右边补几个0。

         >>   右移符号:右移几位,右边舍弃几位。

(4)置一公式:A|(1<<n):将数据A的第个数置一,原理是将原本二进制的1向左移n位,即右侧补了n个0,在将其与A进行位或运算(与1或会被置1)。

       置0公式:A&(~(1<<n))同理,和零与会被清0。

3.3.4 三目运算符

表达式1?表达式2:表达式3

运算顺序:

若<表达式1>的值为真,则执行<表达式2> 

若<表达式1>的值为假,则执行<表达式3>

3.3.5 运算符优先级

单算移关与 异或逻条赋

单目运算符:++ -- ! ~

算术运算符:* / % + -

移位运算符:<< >>

关系运算符:> >= < <= == !=

位与运算符:&

异或运算符:^

位或运算符:|

逻辑运算符:&& ||

条件运算符:?:

赋值运算符:= += -= *= /= %=

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值