作业介绍

GESP三级知识点整理-真题

1. 数据编码

原码、反码、补码

  • 原码:符号位(0正1负)+ 二进制绝对值
    示例:+5 → 0 0101-5 → 1 0101
  • 反码:正数同原码;负数符号位不变,其余位取反
    示例:-5 → 1 1010
  • 补码:正数同原码;负数为反码+1
    示例:-5 → 1 1011
    计算机中整数以补码存储

2. 进制转换;

转换类型 方法 示例
二进制 → 十进制 按权展开求和 1011 → 1×2³+0×2²+1×2¹+1=11
十进制 → 二进制 除2取余法(逆序排列) 11 → 1011
二进制 ↔ 八/十六进制 每3/4位分组转换 11010110 → 八进制(326),十六进制(D6)

3. 位运算

运算符 功能 示例
& 按位与(清零特定位) 6 & 3 → 2 (0110 & 0011=0010)
| 按位或(置位特定位) 6 | 3 → 7
~ 按位取反 ~6 → -7(补码)
^ 异或(相同为0) 6 ^ 3 → 5
<< 左移(等价×2) 6 << 1 → 12
>> 右移(等价÷2) 6 >> 1 → 3

4. 算法概念与描述

描述方式

  • 自然语言:用文字逐步说明(如“从第一个元素开始遍历数组”)
  • 伪代码
    FOR i FROM 0 TO n-1:
        PRINT array[i]
    
    
    
    
    

进制判断

#include <bits/stdc++.h>
using namespace std;

int main() {
//	2
//	15A6F
//	1011
/*
	int n;
	cin n
	while(n--)
		is16=0,is10=0,is8=0,is2=0
		cin >> s;
		for i=o to s[i] i++
			if s[i]>='A' && s[i]<='F'
				is16=1
			else if s[i]>='8' && s[i]<='9'
				is10 =1
			else if s[i]>='2' && s[i]<='7'
				is8 = 1
			else if s[i]>='0' && s[i]<='1'
				is2 =1
		if is16
			0 0 0 1
		else if is10
			0 0 1 1
		else if is8
			0 1 1 1
		else if is2
			1 1 1 1	
		else
			0 0 0 0
	*/	
	return 0;
}

分鱼

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, i, ans = 0;
	//暴力枚举: 开始(k=1 to ?)
	//每一份鱼的数量
	int k = 1;
	while (1) {
		bool f = 1;
		ans = n * k + i;
		for (int j = 1; j < n; j++) {
			if (ans % (n - 1) != 0) {
				f = 0;
				break;
			}
			ans = ans / (n - 1) * n + i;
		}
		if(f==1){
			break;
		}
		k++;
	}
	cout<< ans;

	return 0;
}

输出数字

char arr[4][5] = {
				{// 数字0
				".....", ".***.", ".***.", ".***.", "....."},
				{// 数字1
					"****.", "****.", "****.", "****.", "****."},
				{// 数字2
					".....", "****.", ".....", ".****", "....."},
				{// 数字3
					".....", "****.", ".....", "****.", "....."}};


题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
16
开始时间
2025-1-18 0:00
截止时间
2030-1-3 23:59
可延期
24 小时