C打印二进制函数

void printb(int n)

{

int a[20];

int i=0;

while (n) {

a[i] = n&1;

i++;

n >>= 1;

}

i = i - 1;

while(i >= 0){

printf("%d", a[i]);

i--;

}

printf("\n");

}

时间: 2024-10-08 08:40:13

C打印二进制函数的相关文章

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

 1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&val){ printf("1"); } else { printf("0"); } if(!(bit%4)) printf(" "); } putchar(1

三种方法打印 main函数的返回地址的值(old EIP)(用途,你懂得!)

这里可以简单的修改任意函数的返回地址,可以做到自定义EIP的指向,即可执行当前进程空间的任意指令,这里只是让大家更清楚栈帧结构,没有涉及跨进程的inline HOOK 等,后面会陆续讲下读取任意进程内存,修改任意进程函数执行流程等方法. 废话不多说了,直接上菜: #include <stdio.h> #include <windows.h> /* 打印 main函数的返回地址的值(用途,你懂得!) 所需知识:函数栈帧结构 C调用约定,自右向左压栈 push argv push ar

PHP 打印调用函数入口地址(堆栈),方便调式

今天网站出现一个BUG,然后直接在数据库类里面写日志,看是哪条SQL出了问题,SQL语句到是找到了,但是不知道这条SQL语句来自何处,于是就想啊,如果能有一个办法,查看当前正在运行的这个方法是被哪个方法调用的,以及上一个方法又是哪个方法调用的,以此类推,找到入口地址多好啊.不过以前自己也想过,也在网上去搜过,就是没有找到相关的办法,今天一同事(前辈)说JAVA里面这种调试用得很普遍,叫这种堆栈调试,我是就在网上搜PHP堆栈.居然被我找到了,然后把自己的办法写出来. //调用堆栈函数,查找调用函数

打印表头函数

#include<iostream> using namespace std;   void TableHead();          //声明打印表头函数   int main(){          TableHead();           //调用打印表头函数                   system("pause");          return 0; }   void TableHead(){          cout<<'\t'&

python 打印调用函数名和文件名

import inspect import sys def get_current_function_name(): funcName = sys._getframe().f_back.f_code.co_name # 获取调用函数名 print(dir(sys._getframe())) print(dir(sys._getframe().f_back.f_code.co_filename)) print(sys._getframe().f_back.f_code.co_filename,"#

C++ 虚函数表解析(比较清楚,还可打印虚函数地址)

C++ 虚函数表解析 陈皓 http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数.这种技术可以让父类的指针有“多种形态”,这是一种泛型技术.所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法.比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议. 关于虚函数的使用方法,我在这里不做过多的阐述.大家可以

STM32F4串口打印 while函数出错

总结:写while函数等类型的循环要添加"{ }",不然不知道会出什么错误. 原函数: void division_func(void) { char *p=NULL; int i =0; //如USART1接收到的字符串:2013-12-14 //以'-'分割字符串,现在分割出的第一个字符串为:2013 p = strtok((char *)g_usart1_recv_buf,"-"); printf("分割:%d  %s\r\n", i++,

打印内容函数

function p($data) { echo "<div style='background-color: #e5e5e5; margin-top: 10px; padding:0px 10px 0px 10px; border: 1px solid slategray; border-radius: 15px;'><pre>"; print_r($data); echo "</div></pre>"; }

C语言-十进制转换为二进制函数

char * itobs(int num, char * str) { int i; static int size = 8 * sizeof(int); for (i = size - 1; i >= 0; i--, num >>= 1) { str[i] = (01 & num) + '0'; } str[size] = '\0'; return str; } 注: char str[8 * sizeof(int) + 1] 参考自:C Primer Plus 第15章 位操