Показать внутреннее представление числа 132 во всех целочисленных форматах. Обязательно предоставить протокол перевода числа в двоичную систему исчисления. (нужно построить алгоритм в виде блок схемы)
#!/usr/bin/env python # coding: utf-8 """Определение типа треугольника по сторонам. Python 2.X. """
msg = 'Введите стороны треугольника: ' input = raw_input(msg).split()
try: a, b, c = [float(i) for i in input] except ValueError: print('Введены не числовые значения! Выход...') quit()
if (a >= b + c or b >= a + c or c >= a + b): print('Не', end=' ') elif a ** 2 + b ** 2 == c ** 2: print('Прямоугольный', end=' ') elif (a ** 2 + b ** 2 > c ** 2 and a ** 2 + c ** 2 > b ** 2 and c ** 2 + b ** 2 > a ** 2): print('Остроугольный', end=' ') else: print('Тупоугольный', end=' ') print('треугольник')
Переводим третий байт IP адреса (127) и адреса сети (64) в двоичную систему: 1111111 - ip 1000000 - net
Добавим незначащие нули, чтобы кол-во бит было равно восьми:
01111111 - ip 01000000 - net
Адрес сети получается в результате применения поразрядной конъюнкции к разрядам ip адреса и маски, то есть смотрим, какими должны быть биты маски, чтобы при умножении их на биты IP-адреса получились такие биты адреса сети, какие нам даны:
11000000 - mask 01111111 - ip 01000000 - net
Учитываем, что в маске всегда идут сначала единицы, потом только нули.
# coding: utf-8
"""Определение типа треугольника по сторонам.
Python 2.X.
"""
msg = 'Введите стороны треугольника: '
input = raw_input(msg).split()
try:
a, b, c = [float(i) for i in input]
except ValueError:
print('Введены не числовые значения! Выход...')
quit()
if (a >= b + c or
b >= a + c or
c >= a + b):
print('Не', end=' ')
elif a ** 2 + b ** 2 == c ** 2:
print('Прямоугольный', end=' ')
elif (a ** 2 + b ** 2 > c ** 2 and
a ** 2 + c ** 2 > b ** 2 and
c ** 2 + b ** 2 > a ** 2):
print('Остроугольный', end=' ')
else:
print('Тупоугольный', end=' ')
print('треугольник')
1111111 - ip
1000000 - net
Добавим незначащие нули, чтобы кол-во бит было равно восьми:
01111111 - ip
01000000 - net
Адрес сети получается в результате применения поразрядной конъюнкции к разрядам ip адреса и маски, то есть смотрим, какими должны быть биты маски, чтобы при умножении их на биты IP-адреса получились такие биты адреса сети, какие нам даны:
11000000 - mask
01111111 - ip
01000000 - net
Учитываем, что в маске всегда идут сначала единицы, потом только нули.
Переводим 11000000 в десятичную, это 192.
ответ: 192