byte key()
{
int val = analogRead(A0);
if (val < 480) return 99;
if (val < 500) return 11;
if (val < 525) return 0;
if (val < 555) return 10;
if (val < 585) return 9;
if (val < 620) return 8;
if (val < 660) return 7;
if (val < 705) return 6;
if (val < 760) return 5;
if (val < 820) return 4;
if (val < 890) return 3;
if (val < 976) return 2;
return 1;
}
while (1) {
if (PIND & (1 << PIND2)) {
LED_ENABLE();
} else {
LED_DISABLE();
}
for (unsigned int i = 65535; i != 0; --i)
__asm__("NOP");
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <math.h>
void rev(const char* const c)
{
if (*c)
{
rev(c + 1);
putchar(*c);
}
}
int strfind(const char* const c, char* a) {
return -1;
}
int main() {
setlocale(LC_ALL, "");
char alph[37] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int s1, s2;
char num[37], result[10000] = "";
printf("Введите систему счисления числа, которое надо преобразовать \n");
scanf("%d", &s1);
printf("Введите число до 36 символов \n");
scanf("%s", num);
printf("Введите систему счисления числа, которое надо преобразовать \n");
scanf("%d", &s2);
long numInTenSys = 0;
int n = strlen(num);
num[n] = 0;
long preresult;
long preresult2;
int substring;
for (int i = 0; i < n; i++) {
preresult = pow(s1, (n - i -1));
substring= num[i];
preresult2 = strchr(alph, substring) - alph;
numInTenSys += preresult*preresult2;
}
int mod, div;
while (1) {
mod = numInTenSys % s2;
div = numInTenSys / s2;
strcat(result, &(alph[mod]));
if (div < s2) { //Здесь выдаёте ошибку
strcat(result, &(alph[div]));
break;
}
numInTenSys = div;
}
rev(result);
printf("%s", result);
return 0;
}
#include <iostream>
#include <cstdlib>
using namespace std;
typedef unsigned char uchar_t;
typedef union {
uint32_t m_uint;
uchar_t m_uchar[4];
} MyNumberT;
uint32_t exchange_byte(uint32_t number, int from, int to) {
MyNumberT mynum;
mynum.m_uint = number;
uchar_t n = mynum.m_uchar[to];
mynum.m_uchar[to] = mynum.m_uchar[from];
mynum.m_uchar[from] = n;
return mynum.m_uint;
}
uint32_t swap_byte(uint32_t number, int byteno) {
MyNumberT mynum;
mynum.m_uint = number;
uint16_t n = (uint16_t) mynum.m_uchar[byteno];
n <<= 4;
uchar_t nn = (uchar_t) n;
n >>= 8;
nn |= (uchar_t) n;
mynum.m_uchar[byteno] = nn;
return mynum.m_uint;
}
int main() {
uint32_t number = 0x1baacc8b;
number = exchange_byte(number, 3, 1); // 0xccaa1b8b
number = exchange_byte(number, 2, 0); // 0xcc8b1baa
number = swap_byte(number, 1); // 0xcc8bb1aa
cout << hex << number << dec << endl;
return 0;
}
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <getopt.h>
#include <string.h>
int main()
{
int l, a, b, c;
l = getchar();
char k;
switch(l)
{
case 'a':
printf ("Input task: ");
scanf ("%d%c%d", &a, &k, &b);
if (k == '+') {
c = a + b;
printf ("%d%c%d = %d", a, k, b, c);
}
else if (k == '-') {
c = a - b;
printf ("%d%c%d = %d", a, k, b, c);
}
else if (k == '*') {
c = a * b;
printf ("%d%c%d = %d", a, k, b, c);
}
else if (k == '/') {
if (b == 0) {
printf ("Error.");
exit (1);
}
c = a / b;
printf ("%d%c%d = %d", a, k, b, c);
}
break;
case 'b':
printf ("Input task: ");
scanf ("%d%c%d", &a, &k, &b);
if (k == '+') {
c = a + b;
printf ("%d", c);
}
else if (k == '-') {
c = a - b;
printf ("%d", c);
}
else if (k == '*') {
c = a * b;
printf ("%d", c);
}
else if (k == '/') {
if (b == 0) {
printf ("Error.");
exit (1);
}
c = a / b;
printf ("%d", c);
}
break;
}
return 0;
}