- 博客(9)
- 收藏
- 关注
原创 计算机科学概论_第1章_数据储存
1 数据储存1.1 位和位储存在如今的计算机中,信息是以0和1的模式编码的,这些数字称为位(bit)1.1.1布尔运算为了更好理解,我们假定1为真true,0为假false。那么,处理这些真假值的运算被称为布尔运算,基本的有3个与(AND) 或(OR) 异或(XOR)与,或,异或在离散数学里面可对应为三个运算符,即合取,析取,异或合取PQ真值111100010000析取PQ真值111
2022-04-30 20:47:08 1016
原创 输出13阶魔方阵
魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2、…、n的平方的n×n的方阵,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。排列方法:魔方阵的排列规律如下:⑴将1放在第一行中间一列;⑵从2开始直到n×n止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1(例如上面的三阶魔方阵,5在4的上一行后一列);⑶如果上一个数的行数为1,则下一个数的行数为n(指最下一行);例如1在第一行,则2应放在最下一行,列数同样加1;⑷当上一个数的列数
2021-11-09 13:36:29 108
原创 计算n*n方阵对角线元素和
因为n未知,所以考虑使用malloc()函数,并且使用free()释放内存。代码如下#include <stdio.h>#include <stdlib.h>void ReadMatrix(int** a, int n);int AddMatrix(int** a, int n);int main(void){ int n,sum; int i, j; int** pa; printf("请输入方阵的阶数N:"); scanf("%d", &
2021-11-09 13:33:01 2992
原创 只用位运算符将十进制整数转换成32位二进制机器码
定义函数void DecToBin(int a, char b[33]); 函数功能是将整数a转换为它对应的32位二进制机器数,将32位二进制机器数以字符串形式存于字符数组b(以'\0'字符结束)。比如:a=160,则函数调用结束后,b数组存储的串为"00000000000000000000000010100000";a=-1,则函数调用结束后,b数组存储的串为"11111111111111111111111111111111";从键盘输入一个整数a,调用该函数,然后输出存储于b数组...
2021-11-06 20:37:59 2873
原创 无符号乘积的模
定义函数unsigned mod(unsigned a, unsigned b, unsigned c); 功能是计算并返回a*b%c的结果。要求考试a, b, c的范围是大于0且小于231,程序不能使用64位整型(如:long long类型或__int64)求解。问题:a*b可能溢出(超出32位unsigned int型的表示范围)。为解决此问题,可用如下算法。设unsigned型变量b的每个二进制位为xi(i=0,1, …, 31),i=0为最低位,i=31为最高位,则, 所以...
2021-11-06 20:33:33 271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人