Esempio n. 1
0
int main(int argc,char** argv)
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		printf("%d\n",dec2oct(n));
	}
	return 0;
}
Esempio n. 2
0
int main_2 (int argc, const char * argv[]) {
    int decimal = 12785;
    
    dec2bin(decimal);
    dec2oct(decimal);
    dec2hexa(decimal);
    
    return 0;
}
Esempio n. 3
0
void itob(int n, char s[], int b)
{
  switch (b) {
    case 2:
      dec2bin(n,s);
      printf("%s\n",s);
      break;
    case 8:
      dec2oct(n,s);
      reverse(s);
      printf("%s\n",s);
      break;
    case 10:
      printf("%d\n",n);
      break;
    case 16:
      dec2hex(n,s);
      reverse(s);
      printf("%s\n",s);
      break;
    default:
      break;
  }
}
Esempio n. 4
0
int dec2oct(int dec){
  int ret = 0;
  if(dec != 0)
    ret = dec2oct(dec/8);
  return ret*10 + dec%8;
}
Esempio n. 5
0
void calculate_checksum(FILE_HEADER* header) {
	int sum = 0;
	char buffer[8];

	int unit[15] = {
		NAME_S, MODE_S, UID_S, GID_S, SIZE_S, MTIME_S, TYPEFLAG_S, LINKNAME_S,
		MAGIC_S, VERSION_S, UNAME_S, GNAME_S, DEVMAJOR_S, DEVMINOR_S, PREFIX_S
	};

	int i;
	int j = -1;

loop:
	i = 0;
	j++;

	while(i < unit[j]) {
		switch(j) {
			case 0:
				sum += (int)header->name[i++];
			break;
			case 1:
				sum += (int)header->mode[i++];
			break;
			case 2:
				sum += (int)header->uid[i++];
			break;
			case 3:
				sum += (int)header->gid[i++];
			break;
			case 4:
				sum += (int)header->size[i++];
			break;
			case 5:
				sum += (int)header->mtime[i++];
			break;
			case 6:
				sum += (int)header->typeflag[i++];
			break;
			case 7:
				sum += (int)header->linkname[i++];
			break;
			case 8:
				sum += (int)header->magic[i++];
			break;
			case 9:
				sum += (int)header->version[i++];
			break;
			case 10:
				sum += (int)header->uname[i++];
			break;
			case 11:
				sum += (int)header->gname[i++];
			break;
			case 12:
				sum += (int)header->devmajor[i++];
			break;
			case 13:
				sum += (int)header->devminor[i++];
			break;
			case 14:
				sum += (int)header->prefix[i++];
			break;
		}
	}
		
	if(j != 14)
		goto loop;

	sprintf(buffer, "%d", sum);
	sprintf(buffer, "%lld", dec2oct(buffer));

	header->cksum[0] = '0';
	header->cksum[1] = buffer[0];
	header->cksum[2] = buffer[1];
	header->cksum[3] = buffer[2];
	header->cksum[4] = buffer[3];
	header->cksum[5] = buffer[4];
	header->cksum[6] = '\0';
	header->cksum[7] = ' ';
}