Форум программистов, компьютерный форум CyberForum.ru

Рандомное изменение двух последних цифр в двоичном числе - C++

Восстановить пароль Регистрация
 
Bllaaa
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
20.06.2012, 22:55     Рандомное изменение двух последних цифр в двоичном числе #1
Здраствуйте, возник следующий неразрешимый вопрос. Есть двоичное число: 1111111 11 - нужно что бы две последних цифры рандомно изменялись от 0 до 1 - например: 1111111 01 или 111111 00 и т.д. Слышал что нужно Shipt left() использовать и ещё что-то, но как именно никак не могу сообразить. Помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 22:55     Рандомное изменение двух последних цифр в двоичном числе
Посмотрите здесь:

Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних. C++
C++ составить линейную программу (сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр)
C++ Среди чисел найти все, у которых сумма первых двух равна сумме последних двух
Определить, равна ли сума двух первых цифр четирезначного числа суме двух последних C++
C++ С++ Отсортировать целочисленный массив по возрастанию суммы двух последних цифр в записи его элементов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nedd
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 5
20.06.2012, 23:10     Рандомное изменение двух последних цифр в двоичном числе #2
n = n >> 2;
n = n << 1 | (rand() & 1);
n = n << 1 | (rand() & 1);
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
20.06.2012, 23:24     Рандомное изменение двух последних цифр в двоичном числе #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <limits.h>
 
typedef const unsigned char const type_;
typedef unsigned char t_uint8;
 
#define SIZE_ARRAY  ( 4 )
 
type_ values[] = { 0xFC, 0xFD, 0xFE, 0xFF };
 
void print_binary( type_ val ) {
    t_uint8 x = val, i = CHAR_BIT;
 
    while ( i-- ) {
        printf( "%u", ( (x & 0x80) >> ( CHAR_BIT - 1) ) );
        x <<= 1;
    }
}
 
int main () {
 
    srand( time( 0 ) );
    while( 1 ) {
        print_binary( values[ rand() % SIZE_ARRAY ] );
        putchar( '\n' );
        sleep( 1 );
    }
 
    return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.06.2012, 23:26     Рандомное изменение двух последних цифр в двоичном числе #4
C++
1
n ^= a;
где a - число в промежутке [0, 3]
Yandex
Объявления
20.06.2012, 23:26     Рандомное изменение двух последних цифр в двоичном числе
Ответ Создать тему
Опции темы

Текущее время: 03:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru