اذهب إلى المحتوى

السؤال

نشر

كيف عمل برنامج بالاسمبلي او بأي لغة برمجة يقرأ ملف من البداية ولكن ٤ بت وليس ٨ بت ثم يضيف هذا ال ٤ بت الي ٤ بت اخري انا لا اقصد الجمع

مثال لنفترض أن أول ٤ بت في الملف هي 1010 وال ٤ بت التي نريد الإضافة إليها هي 1100 ليصبح الناتج النهائي هو 10101100 

Recommended Posts

  • 0
نشر

بلغه C

#include <stdio.h>
#include <stdlib.h>

#define BITS 0xc
#define FILENAME "filename here"


static 
void output(unsigned char char1, unsigned char char2){
	printf("%02x %02x\n", char1, char2);
}

void readFile(char *filename){
	unsigned char rd;

	FILE *file=fopen(filename, "rb");
	if(!file){
		printf("error open file (%s)\n", filename);
		return;
	}
    
	fseek(file, 0, SEEK_SET);
    
	while(!feof(file)){
		rd=(char)fgetc(file);
		output((rd&0xf0)|BITS, ((rd&15)<<4)|BITS);
	}
}

int main(int argc, char** argv) {

	readFile(FILENAME);

	return (EXIT_SUCCESS);
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...