Вы можете вызвать .sort () перед вызовом .each ()
$("div[id*=pi_div]").sort(function(a,b){
if(a.id < b.id) {
return -1;
} else {
return 1;
}
}).each(function() { console.log($(this).attr("id"));});
EDIT: мне было интересно, почему другие ответы удаляют pi_div
часть идентификатора, и я получаю его. Если вы сравните на основе «строк» pi_div10
, появится перед pi_div2
.
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char * ptr;
long parsed = strtol("11110111", & ptr, 2);
printf("%lX\n", parsed);
return EXIT_SUCCESS;
}
Для большего числа, там как long long
версия, strtoll
.
Можно использовать станд.:: bitset (если затем длина Ваших битов известна во время компиляции)
, Хотя с некоторой программой Вы могли разбить его в блоки и объединение.
#include <bitset>
#include <iostream>
int main()
{
std::bitset<5> x(std::string("01011"));
std::cout << x << ":" << x.to_ulong() << std::endl;
}
Можно использовать стертол
char string[] = "1101110100110100100000";
char * end;
long int value = strtol (string,&end,2);
Можно использовать Повышение Динамический Bitset:
boost::dynamic_bitset<> x(std::string("01011"));
std::cout << x << ":" << x.to_ulong() << std::endl;