1. c#代码中#是什么意思
#在很多地方都表示数字的含义。如文件记录以#1,#2的方式表示文件编号1,编号2等。楼栋表示方法有#101,表示1栋1号房等。注意:此处应将“#”置于数字前。
#在英语中还代表英制重量单位“磅”,作为“磅”的符号时,数字应在“#”之前,如5#(5磅)、15.3#(15.3磅)等。与“第几号”的用法刚刚相反。
(1)源码前面带符号扩展阅读:
C语言中的 #
C#读成C Sharp,意为C++++
# 本身为指令 没有其他意义/也没有其他效果
# 号必须是该行除了任何空白字符外的第一个字符。预处理指令就是以#号开头的代码行。
# 后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。
整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。
下面举例说明下:
#define 标识符 字符串.
#include <头文件名.h>
其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令.。
2. c语言中%d怎么输出
1、首先,打开编程软件,这里以Dev C++为例。
2、新建一个源代码文件,操作步骤如截图所示。
3、编写代码:
```c
#include
int main() {
int i = 0;
scanf("%d", &i);
int j;
j = i % 2;
printf("%d", j);
return 0;
}
```
这段代码用于输入一个整数,然后输出该整数除以2的余数。
4、编译并运行代码。输入数字9后,输出结果为1,符合预期。
拓展知识:
在C语言中,某些符号具有特殊含义,不能直接用于输出。例如,`%` 符号在C语言中用于取余运算。如果需要输出 `%` 符号本身,需要在它前面再加一个 `%` 符号来实现。例如:
```c
printf("x%%y=%f\n", e);
```
上述代码将输出 `x%%y=`,其中有两个 `%` 符号。
3. +0或者-0的源码、反码、补码分别是什么补码是一样的吗
数字,是以各种代码,存入计算机的。
数字,可以分成:正数、负数、零。
世界上,只有一个零。
但是,原码反码,都编制了两组代码!
这就是违反天道了。
-------------------
零的原码,两个代码是:
[+0]原码 = 0000 0000
[-0]原码 = 1000 0000
反码,不甘落后,也是两个代码:
[+0]反码 = 0000 0000
[-0]反码 = 1111 1111
它们,都是重复定义了“零的编码”。
计算机,根本就无法使用这种混乱的代码。
而且,由于零多占用一组代码,那么,所能表示的数字,必然就少一个。
如-128,八位的原码反码,都不能表示。
-------------------
在计算机系统中,数值,一律采用补码表示和存储。
只用补码,也是说,原码和反码,都无法使用。
补码的理论,来源于数学的规律,并非是人为的胡编乱造。
零,在补码中,只用唯一的一组代码,这就不会产生混乱。
零的八位补码,就是一个:0000 0000。
并没有违规的正负零。
-------------------
前面已经说过,原码反码,都无法使用。
那么,求补码用的“取反加一”,也就失去了理论基础。
求补码,是有定义式的。
这定义式,是由数学理论推导出来的,要比胡说八道的“取反加一”更准确严密。
当 X >= 0: [ X ]补码 = X;
当 X < 0: [ X ]补码 = X + 2^n, n 是补码的位数。
按照定义式,就可以求出来-128 的八位补码了:
[-128]补码 = -128 + 2^8 = 128 = 1000 0000 (二进制)。
如果用“取反加一”,可就难办了。
因为,-128 并没有原码和反码,拿什么取反加一!
4. 请问原码和源码有什么区别
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的"语言"。音乐家用五线谱和音符,建筑师用图纸和笔,那程序员的工作的语言就是"源码"了。
二者区别由此可见。
5. +0或者-0的源码、反码、补码
[+0]原码=0000 0000, [-0]原码=1000 0000
[+0]反码=0000 0000, [-0]反码=1111 1111
[+0]补码=0000 0000, [-0]补码=0000 0000
补码没有正0与负0之分。正数的反码、补码和其源码相同,负数的反码是其源码,除符号位外其他位取反负数的补码是取其反码后加1。
详细释义:
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
(一)反码表示法规定:
1、正数的反码与其原码相同;
2、负数的反码是对正数逐位取反,符号位保持为1;
(二)对于二进制原码10010求反码:
((10010)原)反=对正数(00010)原含符号位取反= 反码11101 (10010,1为符号码,故为负)
(11101) 二进制= -2 十进制
(三)对于八进制:
举例 某linux平台设置了默认的目录权限为755(rwxr-xr-x),八进制表示为0755,那么,umask是权限位755的反码,计算得到umask为0022的过程如下:
原码0755= 反码 0022 (逐位解释:0为符号位,0为7-7,2为7-5,2为7-5)
(四)补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
(5)源码前面带符号扩展阅读
转换方法
由于正数的原码、补码、反码表示方法均相同,不需转换。在此,仅以负数情况分析。
(1) 已知原码,求补码。
例:已知某数X的原码为10110100B,试求X的补码和反码。
解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。
1 0 1 1 0 1 0 0 原码
1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反
1 +1
1 1 0 0 1 1 00 补码
故:[X]补=11001100B,[X]反=11001011B。
(2) 已知补码,求原码。
分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。
例:已知某数X的补码11101110B,试求其原码。
解:由[X]补=11101110B知,X为负数。
采用逆推法
1 1 1 0 1 1 1 0 补码
1 1 1 0 1 1 0 1 反码(末位减1)
1 0 0 1 0 0 1 0 原码(符号位不变,数值位取反)
6. -67的原码和反码各是多少
十进制-67的原码是01000011、反码是10111100和补码是10111101。
转换规则:
1、负数的源码为二进制前面加符号位;
-67=1000011(二进制)=11000011(原码)
2、负数的反码=原码各位取反(除了最高位外);
11000011(原码)=10111100(反码)
3、负数的补码=负数的反码+00000001;
10111100(反码)=10111101(补码)