设计思路
先将输入的两个二进制数转换成十进制,然后再进行相应的运算,最后将结果转换成二进制的形式打印。
运行逻辑示意图
函数调用示意图
源码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define BINARY_SIZE 32
typedef enum{
false = 0, true } Bool;
/* function interface */
/* tool */
int _my_pow(int x, int y);
/* bottom */
void binary_print(int data);
int _2to10(char* data);
/* arthmetic */
void my_add();
void my_sub();
void my_mul();
void my_div();
/* main logic */
void MainLoop();
/* test case */
int main(){
MainLoop();
return 0;
}
/* function realize */
void MainLoop(){
printf("--- 二进制整数运算器 ---\n");
printf("-----------------------\n");
Bool IsWork = true; //初始化运算器工作状态
char option;
while (IsWork){
printf("选择要进行的运算/操作:\n [1.加法 | 2.减法 | 3.乘法 \
| 4.除法 | 5.清屏 | 6.退出]\n");
printf(">>>");
option = getchar();
fflush(stdin); //清空输入缓冲区
switch (option){
case '1': my_add();
break;
case '2'